You have 2 classes to work with Characters - CharacterClass and CharacterAction

 

CharacterClass - this class is the actual representation of the Character, storing their location, name, what they are doing, etc.

 

Static Methods - called in the form App.CharacterClass.FunctionName()

            Create("body", "head", bUseCopy)       - creates a new character

            Cast(pObject)                                      - casts an object to a character

            SetAllowExtras(bAllow)                       - 1 to allow extras

            SetWalkOnChance(fChance)                - (0-1) chance for an Extra to walk on

            GetWalkOnChance()                            - returns the chance for an Extra

            IsSomeoneSpeaking()                           - returns 1 if someone is talking

            GetCurrentToolTipOwner()                  - returns who has a tool tip up

            GetCharacterFromMenu(pMenu)         - returns a character from their menu pointer

            SetVolumeForLineType(iType, fVolume)          - tells the character to soften/mute some types of lines (CSP_SPONTANEOUS, CSP_NORMAL, or CSP_MISSION_CRITICAL)

            GetVolumeForLineType(iType)            - returns the volume for a line type

 

Class Functions - called in the form pCharacter.FunctionName()

            GetYesSir()                  - returns the current "Yes, Sir" line

            SetYesSir("line")           - sets "Yes, Sir" to be a line from the mission database

 

            GetHeadHeight()          - gets the offset for the character's head

 

            IsSpeaking()                                         - returns 1 if this character is speaking

            IsAnimating()                                        - returns 1 if this character is animating

            IsAnimatingInterruptable()                     - returns 1 when animating interruptable

            IsAnimatingNonInterruptable()  - returns 1 when animating non-interruptable

           

            IsRandomAnimationEnabled()   - returns 1 if random animations are enabled

 

            IsStanding()                                          - returns 1 if standing

            IsTurned()                                            - returns 1 if turned

            IsUIDisabled()                                      - returns 1 if their menu is disabled

            IsGlancing()                                          - returns 1 if they are glancing

 

            SetMenuEnabled(bEnabled)                 - 1 to enable menu

            IsMenuEnabled()                                  - returns 1 if menu is enabled

 

            SetInitiative(bOn)                                 - 1 to enable initiative

            IsInitiativeOn()                          - returns 1 if initiative is enabled

 

            GetLocation()                                       - returns name of their location

            GetTurnTowardsLocation()                  - returns where they are looking

 

            SetRandomAnimationEnabled(bOn)      - 1 to enable random animations

            SetRandomAnimationChance(fProb)     - (0-1) probability of random animation

            GetRandomAnimationChance() - returns chance for random animation

 

            SetBlinkChance(fProb)             - (0-1) probability of blinking

            GetBlinkChance()                                 - returns chance to blink

 

            SetAudioMode(kMode)                       - CAM_MUTE, CAM_VOCAL, ...

            GetAudioMode()                                  - returns how 'vocal' the character is

 

            SetActive(bActive)                               - 1 to "look active"

            IsActive()                                             - returns 1 if the character "is active"

 

            SetLocation("location")             - places the character at a location.  Takes the "full path" version of the location, as described at the bottom of this document.

            MoveTo("location")                              - has the character walk to a location.  Takes the "shorthand" version of the location, such as "T", "H", "C", "C1", "S", "E", "L1"

            GlanceAt("location")                             - has the character glance at a location

            GlanceAway()                                      - has the character stop glancing

            TurnTowards("location")                       - has the character turn towards a location

            TurnBack()                                           - has the character turn back

 

            Breathe()                                              - forces the character to reset their limbs

 

            PlayAnimation("animation")                   - plays a registered animation

            PlayAnimationFile("filename")    - plays a .NIF animation file on the character

 

            SetStanding(bStanding)             - 1 to tell the character they are standing

 

            SpeakLine(pDatabase, "string") - has the character say a line out loud

            SayLine(pDatabase, "string", "look")     - look at a location and say a line

 

            Blink()                                                  - force a character to blink

 

            SetDatabase(pDatabase)                      - has the character default to a database

            GetDatabase()                                      - returns the character's default database

 

            SetStatus(kString)                                 - sets the tool-tip status to a line from a TGL

 

            SetMenu(pMenu)                                 - sets the character's menu

            GetMenu()                                           - returns the character's menu

 

            MenuUp()                                            - tells the character to pop up their menu

            MenuDown()                                        - tells the character to bring down the menu

 

            LookAtMe()                                        - the camera looks at the character

 

            GetLastTalkTime()                               - returns the last time this character talked

 


CharacterAction - this class is useful to set up sequence of actions for the characters to do.  Creation follows the following:

 

            App.CharacterAction_Create(pCharacter, ActionType, "DetailString", "To", bTurnBack, pDatabase)

 

            However, these options are not all used every time you make a character action.  Follow the following list of ActionTypes to decide what args to use, and when:

 

            AT_SET_LOCATION            - need a character, and "DetailString" is the new location of the character

 

            AT_MOVE                              - need a character, "DetailString" is where to have the character move to

 

            AT_TURN                               - need a character, "DetailString" is where to turn to

 

            AT_TURN_BACK                  - need a character

 

            AT_TURN_BACK_NOW      - similar to AT_TURN_BACK, but has the containing sequence continue immediately, rather than waiting for the turn to finish

 

            AT_DEFAULT                        - need a character, resets their limbs

 

            AT_BREATHE                        - need a character, tells them to breathe

 

            AT_SPEAK_LINE                  - need a character, "DetailString" is the string ID of the line, "To" is ignored and so can be None, 0 for bTurnBack, and a database

 

            AT_SAY_LINE                       - need a character, "DetailString" is the string ID, "To" is who to turn to, 1 to turn back, and a database

 

            AT_SAY_LINE_AFTER_TURN        - similar to AT_SAY_LINE, but the character waits until they are done turning before starting to talk

 

            AT_PLAY_ANIMATION      - need a character, "DetailString" is what animation to run

 

            AT_PLAY_ANIMATION_FILE        - need a character, "DetailString" is the .NIF file to play

 

            AT_LOOK_AT_ME               - need a character, looks at the character

 

            AT_LOOK_AT_ME_NOW   - similar to AT_LOOK_AT_ME, but continues the sequence rather than having it wait until the look is done

 

            AT_WATCH_ME                   - need a character, has the camera watch this character

 

            AT_STOP_WATCHING_ME            - need a character, tells the camera to stop watching this character

 

            AT_MENU_UP                       - need a character, tells the character to bring up their menu

 

            AT_MENU_DOWN               - need a character, tells the character to bring down their menu

 

            AT_ENABLE_RANDOM_ANIMATIONS    - need a character

 

            AT_DISABLE_RANDOM_ANIMATIONS   - need a character

 

            AT_GLANCE_AT                  - need a character, "DetailString" is where to glance

 

            AT_GLANCE_AWAY           - need a character

 

            AT_BECOME_ACTIVE         - need a character

 

            AT_BECOME_INACTIVE     - need a character

 

            AT_ENABLE_MENU - need a character

 

            AT_DISABLE_MENU            - need a character

 

            AT_ENABLE_INITIATIVE    - need a character

 

            AT_DISABLE_INITIATIVE   - need a character

 

            AT_SET_STATUS                  - need a character, "DetailString" is the new line to use in the tool tip, "To" can be none, 0 for bTurnBack, need a database

 

Locations for Characters - placement only.  When moving characters, use station names, such as "L1", "C", "C1", "X", etc.

 

Crew Galaxy locations

            GalaxySeated                           - Captain's chair

            GalaxyEngSeated                     - Engineering on Galaxy

            DBHelm                                   - Kiska

            DBTactical                               - Felix

            DBCommander                        - Saffi

            DBScience                               - Miguel

            DBEngineer                              - Brex

            DBGuest                                  - Guest chair

            DBL1S                                    - Turbolift 1, small body

            DBL1M                                   - Turbolift 1, medium body

            DBL1L                                    - Turbolift 1, large body

 

Crew Sovereign locations

            SovereignSeated                       - Captain's chair

            SovereignEngSeated                 - Engineering on Sovereign

            EBHelm                                   - Kiska

            EBTactical                                - Felix

            EBCommander             - Saffi

            EBScience                                - Miguel

            EBEngineer                              - Brex

            EBGuest                                   - Guest chair

            EBL1S                                     - Turbolift 1, small body

            EBL1M                                    - Turbolift 1, medium body

            EBL1L                                     - Turbolift 1, large body

            EBL2M                                    - Turbolift 2, medium body

 

Other locations

            CardassianSeated

            FerengiSeated

            KessokSeated

            KlingonSeated

            RomulanSeated

            ShuttleSeated

            StarbaseSeated